package com.Oct_TwentySix;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

/**
 * 2363. 合并相似的物品
 * 给你两个二维整数数组 items1 和 items2 ，表示两个物品集合。每个数组 items 有以下特质：
 *
 * items[i] = [valuei, weighti] 其中 valuei 表示第 i 件物品的 价值 ，weighti 表示第 i 件物品的 重量 。
 * items 中每件物品的价值都是 唯一的 。
 * 请你返回一个二维数组 ret，其中 ret[i] = [valuei, weighti]， weighti 是所有价值为 valuei 物品的 重量之和 。
 *
 * 注意：ret 应该按价值 升序 排序后返回。
 *
 *  
 *
 * 来源：力扣（LeetCode）
 * 链接：https://leetcode.cn/problems/merge-similar-items
 * 著作权归领扣网络所有。商业转载请联系官方授权，非商业转载请注明出处。
 *
 * 2022/10/26 08:34
 */

public class Solution2363 {

    public List<List<Integer>> mergeSimilarItems(int[][] items1, int[][] items2) {
        int[] cur = new int[1001];
        for (int[] p :
                items1) {
            cur[p[0]] += p[1];
        }
        for (int[] p :
                items2) {
            cur[p[0]]+=p[1];
        }
        List<List<Integer>> list=new ArrayList<>();
        for (int i = 0; i < cur.length; i++) {
            if (cur[i]!=0)
            {
                list.add(Arrays.asList(i,cur[i]));
            }
        }
        return list;
    }

}
